package com.lyy.polymorphic;


/**
 * @Author: GZQ
 * @date: 2024/11/17 17:18
 * @description: 方法的多态
 */

public class polyMethod {
    /*
     * 多态的具体体现
     * */
    public static void main(String[] args) {
        // 方法重载体现多态
        A a = new A();
        // 这里我们传入不同的参数, 就会调用不同的sum方法, 就体现多态
        System.out.println(a.sum(10, 20));
        System.out.println(a.sum(10, 20, 30));

        // 方法重写体现多态
        B b = new B();
        a.hi();
        b.hi();
    }
}

class B { // 父类
    public void hi() {
        System.out.println("B hi() 方法被调用...");
    }
}

class A extends B { // 子类
    public int sum(int n1, int n2) { // 和下面的sum 构成重载
        return n1 + n2;
    }

    public int sum(int n1, int n2, int n3) {
        return n1 + n2 + n3;
    }

    public void hi() {
        System.out.println("A hi() 方法被调用...");
    }
}